package com.blog.service;

import com.blog.bean.domain.Message;
import com.blog.bean.dto.MessageDTO;
import com.blog.bean.vo.MessageDetailVO;
import com.blog.bean.vo.MessageListVO;
import com.blog.bean.vo.SystemMessageVO;

/**
 * @author 任浩
 * @version 1.0
 */
public interface MessageService {

    /**
     * 查询当前用户的私信列表
     * @param userId
     * @return
     */
    MessageListVO queryMessage(MessageDTO messageDTO, Integer userId);

    /**
     * 查询当前用户的私信的详细信息。
     * @param messageDTO
     * @return
     */
    MessageDetailVO queryDetail(MessageDTO messageDTO, Integer userId);

    /**
     * 添加私信的方法。
     * @param messageDTO
     * @param userId
     */
    void add(MessageDTO messageDTO, Integer userId);

    /**
     * 查询系统通知。
     * @param messageDTO
     * @param userId
     * @return
     */
    SystemMessageVO systemMsgList(MessageDTO messageDTO, Integer userId);

    /**
     * 查询系统消息的分类主题的总的数量。
     * @param userId
     * @return
     */
    public Integer systemMessageTotal(Message message);

    /**
     * 查询系统消息的当前未读的数量。
     * @param message
     * @return
     */
    public Integer topicUnreadCount(Message message);

    /**
     * 查询某个主题下的所有的信息
     * @param type
     * @param userId
     * @return
     */
    MessageListVO noticeDetailList(Integer type,Integer page,Integer pageNum, Integer userId);
}
